#include<bits/stdc++.h>
using namespace std;
const int maxn = 29;
int n;
int arr[maxn];
int isprime[maxn];     // 2e5之下有多少质数?
void sieve() {
  for(int i=0; i<maxn; ++i)isprime[i]=i;
  // isprime[0]=isprime[1]=false;
  for(long long i=2; i*i<maxn; ++i) {
    if(isprime[i])
      for(long long j=i*i; j<maxn; j+=i)
        isprime[j]=i;
  }
}
void factorize(int x) {
  while(x>1) {
    arr[x]++;
    x /= isprime[x];
  }
}
int main() {
  ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
  cin>>n;
  sieve();
  for(int i=0; i<n; ++i) {
    int num; cin>>num;
    factorize(num);
  }
  for(int i=maxn-1; i>=0; --i) {
    if(arr[i]>=2) {
      cout<<i<<'\n';
      return 0;
    }
  }
}